﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Effects.Filters
{
    /// <summary>
    ///  Base class for all filters.
    /// </summary>
    /// <remarks>
    ///  Filtering is porvided by <see cref="Filter.Step"/> method. It's argument is sample from input signal and it returns filtered output signal.
    /// </remarks>
    public abstract class Filter
    {
        /// <summary>
        ///  Filters input signal.
        /// </summary>
        /// <param name="x0"> Sample of input signal </param>
        /// <returns> Filtered output signal </returns>
        public abstract double Step(double x0);
    }
}
